package cn.tedu._01mvcboot01.controller;

import cn.tedu._01mvcboot01.pojo.dto.UpdateCarDTO;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class CarController {
    /**
     * 非封装参数[声明参数方式]:接收客户端传递的数据;
     * 添加车辆API文档
     * - 请求地址PATH: /v1/car/add
     * - 请求方法: GET | POST
     * - 查询参数: 车辆品牌brand、车牌号license、车辆价格price
     * - 返回响应: String "添加成功, Tesla-京AAA5916-347900.00"
     * 测试: http://localhost:8080/v1/car/add?brand=Tesla&license=京AAA5916&price=347900.00
     */
    @PostMapping("/v1/car/add")
    @ResponseBody
    public String addCar(String brand, String license, double price){
        System.out.println("添加车辆: " + brand + ", " + license + ", " + price);
        return "添加成功, " + brand + "-" + license + "-" + price;
    }

    /**
     * 封装参数:接收客户端传递的数据[POJO类-DTO类]
     * 更新车辆功能
     *  - 请求地址PATH: /v1/car/update
     *  - 请求方法: GET
     *  - 参数类型: 查询字符串
     *  - 请求参数: 车辆id, 车辆品牌brand, 公里数meters, 状态status[字符串]
     *  - 返回响应: 更新成功;
     *
     *  测试: http://localhost:8080/v1/car/update?id=1&brand=Tesla&meters=1000&status=在售
     */
    @RequestMapping("/v1/car/update")
    @ResponseBody
    public String updateCar(UpdateCarDTO updateCarDTO){
        System.out.println("更新车辆: " + updateCarDTO);
        return "更新车辆成功";
    }
}







